package org.huawei260.String;

import java.util.Scanner;

import static org.huawei260.String.O0259_字符串划分.O0259字符串划分.findSplitPoint;

/**
 * @Auther: qingle
 * @Date: 2024/10/27-14:59
 * @Description:
 * @version: 1.0
 */
public class O0259_字符串划分_answer {

	/**
	 * 给定一个小写字母组成的字符串
	 * s
	 * s，请找出字符串中两个不同位置的字符作为分割点，使得字符串分成的三个连续子串且子串权重相等，注意子串不包含分割点。
	 * 若能找到满足条件的两个分割点，请输出这两个分割点在字符串中的位置下标，若不能找到满足条件的分割点请返回0,0。
	 * 子串权重计算方式为:子串所有字符的ASCII码数值之和。
	 *
	 * 输入描述
	 * 输入为一个字符串，字符串由a~z，26个小写字符组成，
	 * 5≤字符串长度≤200。
	 *
	 * 输出描述
	 * 输出为两个分割点在字符串中的位置下标，以逗号分隔
	 *
	 * 示例一
	 * 输入
	 * acdbbbca
	 * 输出
	 * 2,5
	 */
	public static class O0259字符串划分 {


		// 计算每个字符的ASCII码值之和，并判断是否可以找到满足条件的分割点
		public static void main(String[] args) {
			try (Scanner scanner = new Scanner(System.in)) {
				String str = scanner.nextLine();
				solution(str);
			}
		}

		private static void solution(String str) {
			int n = str.length();

			int[] prefixSum = new int[n + 1];
			for (int i = 0; i < n; i++) {
				prefixSum[i + 1] = prefixSum[i] + str.charAt(i);
			}

			int i = 1, j = 2;
			while (j < n) {
				int asciiSumI = prefixSum[i] - prefixSum[0];
				int asciiSumJ = prefixSum[j] - prefixSum[i + 1];
				int asciiSumK = prefixSum[n] - prefixSum[j + 1];

				if (asciiSumI == asciiSumJ && asciiSumJ == asciiSumK) {
					System.out.println(i + "," + j);
					return;
				}

				if (asciiSumI <= asciiSumJ) {
					i++;
				} else {
					j++;
				}
			}

			System.out.println("0,0");
		}
	}

}
